package com.baidu.shoppingmall.auth.service;

import com.baidu.shoppingmall.auth.domain.AuthorityDTO;
import com.baidu.shoppingmall.auth.domain.AuthorityPO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 *
 * @author yjf
 *
 */
public interface AuthorityService extends IService<AuthorityPO> {

	/**
	 * 查询根权限
	 * @return 根权限集合
	 */
	List<AuthorityDTO> listRootAuthorities();

	/**
	 * 根据父权限id查询子权限
	 * @param parentId 父权限id
	 * @return 子权限
	 */
	List<AuthorityDTO> listChildAuthorities(Long parentId);

	/**
	 * 根据id查询权限
	 * @param id 权限id
	 * @return 权限
	 */
	AuthorityDTO getAuthorityById(Long id);

	/**
	 * 新增权限
	 * @param authorityDTO 权限authorityDTO对象
	 * @return 新增成功的记录条数
	 */
	Integer saveAuthority(AuthorityDTO authorityDTO);

	/**
	 * 更新权限
	 * @param authorityDTO 权限authorityDTO对象
	 * @return 更新成功的记录条数
	 */
	Integer updateAuthority(AuthorityDTO authorityDTO);

	/**
	 * 根据当前id删除所有子id
	 * @param id
	 */
	Integer delete(Integer id);
}
